package com.foftact.etf;

import java.util.List;

/**
 * ETF基金行情服务接口
 * 定义ETF基金行情相关的业务方法
 */
public interface ETFListService {
    /**
     * 从API抓取并保存ETF基金行情数据
     * @return 成功保存的记录数
     */
    int fetchAndSaveETFListData();

    /**
     * 根据基金代码获取ETF数据
     * @param code 基金代码
     * @return ETF数据对象
     */
    ETFList getETFByCode(String code);

    /**
     * 获取所有ETF数据
     * @return ETF数据列表
     */
    List<ETFList> getAllETFList();

    /**
     * 保存单个ETF数据
     * @param etfList ETF数据对象
     * @return 保存是否成功
     */
    boolean saveETFList(ETFList etfList);

    /**
     * 批量保存ETF数据
     * @param etfListList ETF数据列表
     * @return 保存的记录数
     */
    int batchSaveETFList(List<ETFList> etfListList);

    /**
     * 更新ETF数据
     * @param etfList ETF数据对象
     * @return 更新是否成功
     */
    boolean updateETFList(ETFList etfList);

    /**
     * 根据基金代码删除ETF数据
     * @param code 基金代码
     * @return 删除是否成功
     */
    boolean deleteETFByCode(String code);

    /**
     * 清空ETF表
     * @return 操作是否成功
     */
    boolean clearETFList();
}